# -*- coding: utf-8 -*-
"""
Created on Tue Jun 24 10:52:02 2025
numpy 最核心的概念是ndarray，
ndarray是一个多维数组对象，
它包含了相同类型的元素，
并且可以通过索引来访问和修改这些元素。
ndarray的主要特点包括：
1. 多维数组：ndarray可以是一维、二维、三维甚至更高维的数组。
2. 索引和切片：ndarray支持使用索引和切片来访问和修改数组中的元素。
3. 线性代数和统计函数：ndarray提供了丰富的线性代数和统计函数，
使得在科学计算和数据分析中更加方便。
4. 内存布局：ndarray在内存中以连续的方式存储元素，
这使得访问和修改元素的速度非常快。
5. 数组的变形和重塑：ndarray支持数组的变形和重塑，
这使得在处理不同形状的数组时更加方便。
6. 数组的合并和分割：ndarray支持数组的合并和分割，
这使得在处理多个数组时更加方便。
7. 数组的切片：ndarray支持数组的切片，
这使得在数组上进行切片操作变得更加方便。
@author: ZRK
"""
import numpy as np


# 1. 通过现有数据源创建数组
# 创建一个一维数组
array_1d = np.array([1, 2, 3, 4, 5, 6, 7, 8, 9, 10])
# 创建一个二维数组
array_2d = np.array([[1, 2, 3, 4, 5], [6, 7, 8, 9, 10]])


# 2. 通过内置api创建数组

# i. zeros() 创建一个全为0的数组
zeros_33 = np.zeros((3, 3))

# i. ones() 创建一个全为1的数组
ones_33 = np.ones((3, 3))

empty_arr = np.empty((2, 2))

range_arr = np.arange(0, 10) 

linspace_arr = np.linspace(0, 1, 101)   # 等间距序列

print(array_1d)
print(type(array_1d))